<?php
defined('EXEC') or die();
$transacao = 'fornecedor';

if(!$auth->isRead($transacao)){
	Util::info(Config::AUTH_MESSAGE);
	return true;
}
//Importando a classes
Loader::import('com.atitudeweb.SQL');
$form 			= false;
$rowEdit 		= array();
$table 			= 'tethys.tb_fornecedor';
$tablepk 		= 'ci_fornecedor';
$limitPagina 	= 10; //Registros por página
$faixa 			= 10; //Faixa de páginas que irão ser mostradas paginação (google)
$dif 			= 5; //A diferença que a faixa de páginas irão começar a caminhar (google)
$p 				= (@$_GET['p'] ? $_GET['p'] : 1);
$fields         = " nm_fornecedor, nm_cnpj,nm_cpf,nr_cep,nr_numero,cd_estado,cd_localidade,ds_logradouro,ds_bairro,ds_complemento,nr_telefone_comercial,nr_telefone_celular,ds_email ";
//Exclusão de vários ou um registro
if(isset($_POST['checkdel'])){
	if($auth->isDelete($transacao)){
		if(SQL::remove('tethys.tb_fornecedor', 'ci_fornecedor', $_POST['checkdel'])){
			Util::notice('Fornecedor', 'Excluída com sucesso!');
		}
		else{
			Util::notice('Fornecedor', 'Houve um erro ao excluir!', 'error');
		}
	}
	else{
		Util::info(Config::AUTH_MESSAGE);
	}
}
//Alteração ou inclusão de um registro
if(isset($_GET['db']) && isset($_GET['form'])){

	$nm_fornecedor = strtoupper(addslashes($_POST['nm_fornecedor']));;
	if(@$_POST['nm_cnpj']==''){$nm_cnpj ='null';}else{$nm_cnpj ="'".$_POST['nm_cnpj']."'";}
	if(@$_POST['nm_cpf']==''){$nm_cpf='null';}else{$nm_cpf="'".$_POST['nm_cpf']."'";}
	$nr_cep = @$_POST['nr_cep'];
	$nr_numero = @$_POST['nr_numero'];

	$cd_estado = @$_POST['cd_estado'];
	$cd_localidade = @$_POST['cd_localidade'];
	$ds_logradouro = @$_POST['ds_logradouro'];

	$ds_bairro = @$_POST['ds_bairro'];
	$ds_complemento = @$_POST['ds_complemento'];
	if($_POST['nr_telefone_comercial']==''){$nr_telefone_comercial='null';}else{$nr_telefone_comercial = @$_POST['nr_telefone_comercial'];}
	if($_POST['nr_telefone_celular']==''){$nr_telefone_celular='null';}else{$nr_telefone_celular = @$_POST['nr_telefone_celular'];}
	$ds_email = @$_POST['ds_email'];

	if($_GET['db'] == 1 && $_GET['form'] == 0){
		$sql = " insert into tethys.tb_fornecedor ($fields)
		values ('$nm_fornecedor', $nm_cnpj, $nm_cpf, $nr_cep,
		$nr_numero, $cd_estado, $cd_localidade,'$ds_logradouro',
			    '$ds_bairro', '$ds_complemento', '$nr_telefone_comercial',
			    '$nr_telefone_celular', '$ds_email' );";
	}
	elseif($_GET['db'] == 1 && $_GET['form'] > 0){
		$sql=" update $table set
					  nm_fornecedor='$nm_fornecedor', 
					  nm_cnpj=$nm_cnpj, 
					  nm_cpf=$nm_cpf, 
					  nr_cep=$nr_cep,
			    	  nr_numero=$nr_numero, 
			    	  cd_estado=$cd_estado,
			    	  cd_localidade='$cd_localidade',
			    	  ds_logradouro='$ds_logradouro',
			    	  ds_bairro='$ds_bairro', 
			    	  ds_complemento='$ds_complemento', 			    	  
			    	  nr_telefone_comercial='$nr_telefone_comercial',
			    	  nr_telefone_celular='$nr_telefone_celular', 
			    	  ds_email='$ds_email'
		where $tablepk=".$_GET['form'];
	}
	//echo $sql;
	//die;
	if(execute($sql)){
		Controller::setInfo('Fornecedor', 'Salvo com sucesso!', 'success', 'info-circle', 3500);
		Controller::redirect(Util::setLink(array('form=null', 'db=null')));
	}
	else{
		Controller::setInfo('Fornecedor', 'Por favor contate o administrador.', 'danger', '', 3500);
	}
	//Controller::redirect(Util::setLink(array('form=null', 'db=null')));
}
//Mudança do formulário para adição ou alteração de registro
if(isset($_GET['form'])){
	if($_GET['form'] == 0){
		$btFormLabel = 'Adicionar';
	}
	else{
		$btFormLabel = 'Salvar';
		$rowEdit =query("select * from $table where $tablepk = ".$_GET['form'])->fetch();
	}
	$form = true;
}
//Consulta no banco e mecânica de paginação

if(isset($_POST['search1']) || !$form){
	if(isset($_POST['search1'])){
		$term = addslashes($_POST['search1']);
		$where =  " where nm_fornecedor ilike '%{$term}%'";
	}
	else{
		$where =" where 1=1 ";
	}

	$sql=" select * from $table $where order by $tablepk asc limit {$limitPagina} offset ".(($p - 1) * $limitPagina);
	$sqlc=" select count(*) as num from $table $where ";
	$query = query($sql);
	$rowNum = query($sqlc)->fetch();
	$registros = $rowNum['num'];
	$paginacao = Util::pagination($registros, 4);

}

//Mascara CPF para Listar.

function mask($val, $mask){
	$maskared = '';
	$k = 0;
	for($i = 0; $i<=strlen($mask)-1; $i++){
		if($mask[$i] == '#'){
			if(isset($val[$k]))
			$maskared .= $val[$k++];
		}else{
			if(isset($mask[$i]))
			$maskared .= $mask[$i];
		}
	}
	return $maskared;
}

$ufDefault = 'CE';
$sqlEstados = 'select ci_estado, ds_estado, sg_estado from tethys.tb_estado order by 2';
$queryEstados = Connection::query($sqlEstados);
$queryEstadosEnd = Connection::query($sqlEstados);
$sqlMunicipios = "select ci_localidade, ds_localidade from tethys.tb_localidades where sg_estado = '$ufDefault' group by 1,2 order by ds_localidade asc";
$queryMunicipios = Connection::query($sqlMunicipios);

?>
<h3>
	<i class="glyphicon glyphicon-user"></i> Fornecedor -
	<?php echo (!isset($_GET['form']) ? 'Pesquisa' : (@$_GET['form'] > 0 ? 'Edição' : 'Cadastro')); ?>
</h3>
	<?php if(!isset($_GET['form'])){ ?>
<a href="<?php echo Util::setLink(array('form=0')); ?>"
	class="command-page"><span class="fa fa-plus-square"></span> Novo</a>
	<?php } else{ ?>
<a href="#" class="command-page"
	onclick="window.location='?page=cadastros/fornecedores';"><span
	class="fa fa-reply"></span> Voltar</a>
	<?php } ?>

<div class="panel panel-default">
	<div class="panel-body">
		<div id="alerts"></div>
		<?php if(!isset($_GET['form'])){ ?>
		<form action="<?php echo Util::setLink(array('p=null')); ?>"
			method="post" class="form">
			<div class="row">
				<div class="col-md-8">
					<div class="form-group">
						<label class="control-label">Fornecedor:</label> <input
							type="text" name="search1" id="search1"
							value="<?php echo @$_POST['search1']; ?>" class="form-control" />
					</div>
					<div class="col-md-2">
						<div class="form-group">
							<button id="btSearch" class="btn btn-default btn-adjust">
								<span class="fa fa-search"></span> Consultar
							</button>
						</div>
					</div>
				</div>
			</div>
		</form>
		<!-- FIM CAMPOS PESQUISA -->
		<?php } ?>
		<?php if(!isset($_GET['form'])){ ?>
		<!-- LISTAGEM DOS REGISTROS -->
		<form method="post" id="formSearch">
			<div class="table-responsive">
				<table
					class="table table-striped table-bordered table-hover table-condensed">
					<thead>
						<tr class="ui-widget-header">
							<th width="25" class="check"><input type="checkbox"
								id="btCheckAll" /></th>
							<th>ID</th>
							<th>Fornecedor</th>
							<th></th>
						</tr>
					</thead>
					<tbody>
					<?php
					$count = 0;
					while($row = $query->fetch()){
						echo '<tr>
					            	<td class="check"><input type="checkbox" class="btCheck" name="checkdel[]" value="'.$row[$tablepk].'"/></td>
					                <td>'.$row['ci_fornecedor'].'</td>
					                <td>'.$row['nm_fornecedor'].'</td>
					                <td width="30" align="center">
 					                	<button type="button" onclick="window.location=\''.Util::setLink(array('form='.$row['ci_fornecedor'], 'del=null')).'\';" class="btn btn-default btn-xs" title="Editar" data-toggle="tooltip">
									    	<span class="fa fa-pencil"></span>
									    </button>
					                </td>
					        	</tr>';
						$count++;
					}
					?>
					</tbody>
				</table>
			</div>
		</form>
		<button id="btDel" class="btn btn-default"
			title="Excluir selecionados" data-toggle="modal"
			data-target="#modalExcluir">
			<span class="fa fa-trash"></span> Excluir
		</button>
		<?php echo $paginacao; ?>
		<?php } else {?>
		<!-- INICIO FORMULÁRIO CADASTRO -->
		<form action="<?php echo Util::setLink(array('db=1')) ?>" class="form"
			method="post" id="formInsertEdit" onsubmit="return test();">
			<fieldset>
				<legend>
					<b>DADOS GERAIS</b>
				</legend>
				<div class="row" id="cadastro_2">
					<div class="col-md-2">
						<div class="form-group">
							<label class="control-label">Cod. Fornecedor:</label> <input
								type="text" id="ci_fornecedor" name="ci_fornecedor"
								value="<?php echo trim(@$rowEdit['ci_fornecedor']); ?>"
								class="form-control" size="6" />
						</div>
					</div>
					<div class="col-md-10">
						<div class="form-group">
							<label class="control-label">Fornecedor:<span class="text-danger">*</span>
							</label> <input type="text" id="nm_fornecedor"
								name="nm_fornecedor"
								value="<?php echo trim(@$rowEdit['nm_fornecedor']); ?>"
								class="form-control" size="70" />
						</div>
					</div>
				</div>
				<div class="col-md-2">
					<div class="form-group">
						<label class="control-label">CNPJ:</label> <input type="text"
							id="nm_cnpj" name="nm_cnpj" maxlength="18"
							onkeypress="mask(this, maskCnpj)"
							value="<?php echo trim(@$rowEdit['nm_cnpj']); ?>" maxlength="17"
							size="17" class="form-control" />
					</div>
				</div>
				<div class="col-md-2">
					<div class="form-group">
						<label class="control-label">CPF:</label> <input type="text"
							id="nm_cpf" name="nm_cpf" maxlength="14"
							onkeypress="mask(this, maskCpf)"
							value="<?php echo trim(@$rowEdit['nm_cpf']); ?>" maxlength="14"
							size="17" class="form-control" />
					</div>
				</div>
			</fieldset>

			<fieldset>
				<legend>
					<b>ENDEREÇO E CONTATO</b>
				</legend>
				<div class="row">
					<div class="col-md-2">
						<div class="form-group">
							<label class="control-label">CEP: <span class="text-danger">*</span>
							</label>
							<div class="input-group">
								<input type="text" class="form-control" id="nr_cep"
									name="nr_cep" value="<?php echo @$rowEdit['nr_cep']; ?>"
									placeholder="DIGITE O CEP" aria-describedby="basic-addon2"
									maxlength="10" size="15" onkeypress="mask(this,cep)"> <span
									class="input-group-addon" id="basic-addon2"> <span
									class="glyphicon glyphicon-envelope" data-toggle="tooltip"
									data-placement="top" title="Tooltip on top"></span> </span>
							</div>
						</div>
					</div>
					<div class="col-md-10">
						<div class="alert alert-warning" role="alert"
							style="margin-top: 8px; text-align: center; font-weight: bold;">DIGITE
							O CEP PARA INICIAR O PREENCHIMENTO DO ENDEREÇO.</div>
					</div>
				</div>
				<div class="row">
					<div class="col-md-8">
						<div class="form-group">
							<label class="control-label">Endereço: <span class="text-danger">*</span>
							</label> <input type="text" id="ds_logradouro"
								name="ds_logradouro"
								value="<?php echo @$rowEdit['ds_logradouro']; ?>"
								maxlength="200" class="form-control" />
						</div>
					</div>
					<div class="col-md-4">
						<div class="form-group">
							<label class="control-label">Complemento: </label> <input
								type="text" id="ds_complemento" name="ds_complemento"
								value="<?php echo @$rowEdit['ds_complemento']; ?>"
								maxlength="50" class="form-control" />
						</div>
					</div>
				</div>
				<div class="row">
					<div class="col-md-2">
						<div class="form-group">
							<label class="control-label">Numero: <span class="text-danger">*</span>
							</label> <input type="text" id="nr_numero" name="nr_numero"
								value="<?php echo @$rowEdit['nr_numero']; ?>" maxlength="50"
								size="15" class="form-control" />
						</div>
					</div>
					<div class="col-md-4">
						<div class="form-group">
							<label class="control-label">Bairro: <span class="text-danger">*</span>
							</label> <input type="text" id="ds_bairro" name="ds_bairro"
								value="<?php echo @$rowEdit['ds_bairro']; ?>" maxlength="50"
								size="55" class="form-control" />
						</div>
					</div>
					<div class="col-md-4">
						<div class="form-group">
							<label class="control-label">Cidade: <span class="text-danger">*</span>
							</label>
							<div id="boxLocalidade">
								<select id="cd_localidade" name="cd_localidade"
									class="form-control">
									<?php
									while($row = $queryMunicipios->fetch()){
										if(@$rowEdit['cd_localidade'] == $row['ci_localidade'])
										echo '<option value="'.$row['ci_localidade'].'" selected="selected">'.$row['ds_localidade'].'</option>';
										else
										echo '<option value="'.$row['ci_localidade'].'">'.$row['ds_localidade'].'</option>';
									}
									?>
								</select>
							</div>
						</div>
					</div>
					<div class="col-md-2">
						<div class="form-group">
							<label class="control-label">UF: <span class="text-danger">*</span>
							</label> <select id="cd_estado" name="cd_estado"
								onchange="atualizaBoxLocalidade();" class="form-control">
								<?php
								while($row = $queryEstadosEnd->fetch()){
									if($ufDefault == $row['sg_estado'])
									echo '<option value="'.$row['ci_estado'].'" selected="selected">'.$row['ds_estado'].'</option>';
									else
									echo '<option value="'.$row['ci_estado'].'">'.$row['ds_estado'].'</option>';
								}
								?>
							</select>
						</div>
					</div>
				</div>
				<div class="row">
					<div class="col-md-6">
						<div class="form-group">
							<label class="control-label">Email: <span class="text-danger">*</span>
							</label>
							<div class="input-group">
								<span class="input-group-addon" id="basic-addon2"> <span
									class="glyphicon glyphicon-envelope" data-toggle="tooltip"
									data-placement="top" title="Tooltip on top"></span> </span> <input
									type="text" id="ds_email" name="ds_email"
									value="<?php echo @$rowEdit['ds_email']; ?>" maxlength="200"
									size="55" class="form-control" />
							</div>
						</div>
					</div>
					<div class="col-md-3">
						<div class="form-group">
							<label class="control-label">Tel. Comercial: <span
								class="text-danger">*</span> </label>
							<div class="input-group">
								<span class="input-group-addon" id="basic-addon2"> <span
									class="glyphicon glyphicon-phone-alt" data-toggle="tooltip"
									data-placement="top" title="Tooltip on top"></span> </span> <input
									type="text" id="nr_telefone_comercial"
									name="nr_telefone_comercial"
									value="<?php echo @$rowEdit['nr_telefone_comercial']; ?>"
									onkeypress="mask(this, telefone)" maxlength="14"
									class="form-control" />
							</div>
						</div>
					</div>
					<div class="col-md-3">
						<div class="form-group">
							<label class="control-label">Celular: <span class="text-danger">*</span>
							</label>
							<div class="input-group">
								<span class="input-group-addon" id="basic-addon2"> <span
									class="glyphicon glyphicon-phone-alt" data-toggle="tooltip"
									data-placement="top" title="Tooltip on top"></span> </span> <input
									type="text" id="nr_telefone_celular" name="nr_telefone_celular"
									value="<?php echo @$rowEdit['nr_telefone_celular']; ?>"
									onkeypress="mask(this, telefone)" maxlength="14"
									class="form-control" />
							</div>
						</div>
					</div>
				</div>
			</fieldset>
			<br clear="all">
			<button id="btInsertEdit" class="btn btn-default" type="submit">
				<span class="fa fa-floppy-o"></span> Salvar
			</button>
		</form>
		<!-- FIM FORMULÁRIO CADASTRO-->
		<?php } ?>
	</div>
</div>


<script type="text/javascript">
$(function(){   	
	$("#nm_fornecedor").keyup(function(){
		$(this).val($(this).val().toUpperCase());
	    var varString = $(this).val();
	    var stringAcentos = ('àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ');
	    var stringSemAcento = ('aaeouaoaeioucuAAEOUAOAEIOUCU');
	    var i = new Number();
	    var j = new Number();
	    var cString = new String();
	    var varRes = '';
	       for (i = 0; i < varString.length; i++) {
	        cString = varString.substring(i, i + 1);
	        for (j = 0; j < stringAcentos.length; j++) {
	            if (stringAcentos.substring(j, j + 1) == cString){
	                cString = stringSemAcento.substring(j, j + 1);
	            }
	        }
	        varRes += cString;        
	    }
	    varRes = varRes.replace( /\s/g, '' );
	});	
	var uf_rg = <?php echo trim((@$rowEdit['cd_uf_rg']) ? @$rowEdit['cd_uf_rg'] : 0);?>;		
	$("#cd_uf_rg").val(uf_rg);
});

$(function(){
	$('#loading').hide();
	loadMaskCep();
});

function loadMaskCep(){
	var obj = $("#nr_cep");
	var cep = obj.val();
	cep = String(cep);
	cep=cep.replace(/\D/g,"");                          
    cep=cep.replace(/^(\d{2})(\d)/,"$1.$2");                       
    cep=cep.replace(/(\d{3})(\d)/,"$1-$2");
    obj.val(cep);
}
$("#nr_cep").blur(function(){
	var cep = $(this).val();
	var cep = cep.replace(/[\.-]/g, "");
	if(cep){
		$("#loading").ajaxStart(function(){
		   $(this).show();
		});
	}
	$.ajax({
			url: "partials/get_cep.php",
			type: "POST",
			data: {nr_cep:cep},
			dataType: "json",
			success: function(json){
				$("#loading").ajaxStop(function(){
				   $(this).hide();
				 });
				$('#ds_logradouro').val(json.logradouro);
				$('#ds_bairro').val(json.bairro);
				$('#cd_localidade').val(json.ci_localidade);
				$('#cd_estado').val(json.uf);
			}					
	});
	
});
function limpaCamposCEP(){
	$('#ds_logradouro').val('');
	$('#nr_numero').val('');
	$('#ds_complemento').val('');
	$('#nr_cep').val('');
	$('#ds_bairro').val('');
	$('#cd_estado').val('CE');
	$('#cd_localidade').val(1347);
}

function test(){	
	var valid = true;
	var nm_fornecedor = $("#nm_fornecedor").val();
	var nr_cep = $("#nr_cep").val();
	var ds_logradouro = $("#ds_logradouro").val();
	var nr_numero = $("#nr_numero").val();
	var ds_localidade = $("#cd_localidade").val();
	var ds_bairro = $("#ds_bairro").val();
	var ds_uf = $("#cd_estado").val();	
	var nr_telefone_comercial = $("#nr_telefone_comercial").val();
	var nr_telefone_celular = $("#nr_telefone_celular").val();
	
	if (nm_fornecedor == '') {
		updateTips($('#nm_fornecedor'),'O Campo Fornecedor deve ser preenchido');
		valid = false;
	}else if(nr_cep == ''){		
		updateTips($('#nr_cep'),'O Campo CEP deve ser preenchido');
		valid = false;
	}else if(ds_logradouro == ''){
		updateTips($('#ds_logradouro'),'O Campo Endereço deve ser preenchido');
		valid = false;
	}else if(nr_numero == ''){
		updateTips($('#nr_numero'),'O Campo Numero deve ser preenchido');
		valid = false;
	}else if(ds_localidade == ''){	
		updateTips($('#ds_localidade'),'O Campo Cidade deve ser preenchido');
		valid = false;
	}else if(ds_bairro == ''){
		updateTips($('#ds_bairro'),'O Campo Bairro deve ser preenchido');
		valid = false;
	}else if(ds_uf == ''){
		updateTips($('#ds_uf'),'O Campo UF deve ser preenchido');
		valid = false;
	}else if(nr_telefone_comercial == '' && nr_telefone_celular == ''){
		updateTips($('#nr_telefone_comercial'),'O Campo Telefone Comercial ou Telefone Celular deve ser preenchido');		
		valid = false;
	}else{
		valid = valid && checkLength('nm_fornecedor', 'Fornecedor', 4);
	}
	return valid;	
}		
</script>
